When data is transmitted over various networks, it is often transmitted using the Transmission Control Protocol (TCP), which is one of the core protocols of the Internet Protocol (IP) suite. Using TCP, when an application sends data across the network, the TCP often breaks the data into pieces that may be more readily managed and transmitted over the network. However, due to network congestion, traffic load balancing, or other unpredictable network behavior, some of these pieces, sometimes known as IP packets, can be lost. Loss of packets may require that a sending device must duplicate and or resend the data. Moreover, smaller packet sizes may mean that a computer may have more central processing unit (CPU) interrupts and more processing overhead. Thus, there is often a desire to reduce the number of packets transmitted, thereby reducing a likelihood of lost packets. Larger sized packets may result in transmitting a larger amount of data with less effort, reducing CPU utilization (in part due to interrupt reductions) and increasing throughput by reducing a number of packets needing to be transmitted and/or processed.
However, many devices on today's networks, such as routers, gateways, physical cables, or the like, even sending/receiving computing devices including operating systems, may be constrained in how large a packet they can handle. Moreover, when a large packet is lost, it may mean that a large amount of data must be retransmitted. Moreover, adding large packets onto a network may sometimes result in transmission delays of smaller packets over the same network. Thus, there remain benefits as well as disadvantages to using larger packets.
One challenge that often arises is when one networking infrastructure employs smaller packet sizes, and another networking infrastructure employs or is designed to be able to use larger packet sizes. In this situation, the larger packet size networking infrastructure often is constrained, when trying to communicate with the smaller packet size networking infrastructure to using smaller packet sizes. This may result in inefficiencies within the larger packet size networking infrastructure. Therefore, it is with respect to these considerations and others that the present invention has been made.